package cn.lg.soar.message.service;

import java.io.File;
import java.util.Collection;

/**
 * @author luguoxiang
 * @date 2022/4/5
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface IMailService {

    /**
     * 批量发送
     * @param tos 接收人
     * @param subject 主题（标题）
     * @param content 内容
     * @param files 附件
     */
    void send(String[] tos, String subject, String content, File...files);

    /**
     * 批量发送
     * @param tos 接收人
     * @param subject 主题（标题）
     * @param content 内容
     * @param files 附件
     */
    default void send(Collection<String> tos, String subject, String content, File...files) {
        String[] strings = tos.stream().distinct().toArray(String[]::new);
        send(strings, subject, content, files);
    }

    /**
     * 单个发送
     * @param to 接收人
     * @param subject 主题（标题）
     * @param content 内容
     * @param files 附件
     */
    default void send(String to, String subject, String content, File... files) {
        send(new String[]{ to }, subject, content, files);
    }

}
